define( function(){

    return function() {
        this.SIDE_NONE = -1;
        this.SIDE_TOP = 0;
        this.SIDE_RIGHT = 1;
        this.SIDE_BOTTOM = 2;
        this.SIDE_LEFT = 3;

        this.init = function(w, h) {            
            this.x = undefined;
            this.y = undefined;            
            this.w = w;
            this.h = h;  
            this.isCollidable = true;
            this.collisionSide = this.SIDE_NONE;
        };
                
        this.draw = function(context) { /* Needs to be implemented by heirs */};    
        this.collides = function(collisionObject) { /* Needs to be implemented by heirs */ };
        this.getCenterX = function() { return this.x + this.w/2; };
        this.getCenterY = function() { return this.y + this.h/2; };
    };
});